package com.ccp.dev.form.dao;

import com.ccp.dev.core.basic.base.IBaseMapper;
import com.ccp.dev.form.model.PrintTemplate;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * printTemplate Dao类
 *
 * @author chenjing
 */
@Repository
public interface PrintTemplateDao extends IBaseMapper<PrintTemplate, String>
{
	/**
	 * 根据formKey获取默认打印模板数据
	 * @param formKey formKey
	 * @return 打印模板
	 */
	PrintTemplate getDefaultByFormKey(String formKey);

	/**
	 * 根据formKey 删除打印模板数据
	 * @param formKey formKey
	 */
	void delByFormKey(Long formKey);

	/**
	 * 根据formKey获取打印模板数据列表
	 * @param formKey formKey
	 * @return list
	 */
	List<PrintTemplate> getByFormKey(Long formKey);

	/**
	 * 查找别名是否存在，存在则count大于0
	 * @param alias alias
	 * @param id id
	 * @return 0 或者 1
	 */
	int isExistAlias(@Param("alias") String alias, @Param("id") String id) ;

	/**
	 * 获取所有普通表单标识的对象集
	 * @param formKey 表单别名
	 * @return 打印模板集合
	 */
	List<PrintTemplate> getAllByFormKeyAndForm(String formKey);

	List<PrintTemplate> getAllByFormKeyAndFlowFinish(String formKey);

}